#pragma once

#include <PureMVC/PureMVC.hpp>

using PureMVC::Interfaces::INotification;
using PureMVC::Patterns::SimpleCommand;

/**
 * @brief 启动命令类，负责应用程序的初始化工作
 * 继承自SimpleCommand，注册必要的代理和中介者
 */
class StartUpCommand : public SimpleCommand
{
public:
    /**
     * @brief 构造函数
     */
    StartUpCommand(void);
    /**
     * @brief 析构函数
     */
    virtual ~StartUpCommand(void);

private:
    /**
     * @brief 执行启动命令
     * @param notification 包含应用程序视图的通知对象
     */
    void execute(INotification const& notification);
};
